Graph Traversal Queries ArangoDB-তে গ্রাফ ডেটার মধ্যে সম্পর্ক বুঝতে এবং প্রাসঙ্গিক তথ্য অনুসন্ধানের জন্য ব্যবহৃত হয়। ArangoDB তে গ্রাফ ডেটাবেসে Vertex (নোড) এবং Edge (লিঙ্ক) ব্যবহার করে ডেটা মডেল করা হয়। AQL (ArangoDB Query Language) এর মাধ্যমে গ্রাফ ট্রাভার্সাল করা যায়।
Traversal মানে হলো একটি Graph এর নোড বা ভের্টেক্স থেকে একটি নির্দিষ্ট পথ অনুসরণ করে ডেটা বের করা। এটি সাধারণত বিভিন্ন লেভেল বা দূরত্বের সম্পর্ক বিশ্লেষণ করতে ব্যবহৃত হয়।
FOR vertex, edge, path IN min..max
OUTBOUND start_vertex edge_collection
RETURN vertex
min..max
: ট্রাভার্সাল গভীরতার সীমা।OUTBOUND
: সংযোগের দিক নির্দেশ করে। (Inbound/Outbound/Both)start_vertex
: ট্রাভার্সাল শুরু করার নোড।edge_collection
: সংযোগগুলো সংরক্ষিত যেখানে।RETURN
: ফলাফল হিসেবে কোন উপাদান চাই তা নির্ধারণ করে।নিচের উদাহরণে friends
একটি Edge Collection, যা সংযোগ সংরক্ষণ করে।
FOR vertex IN 1..1
OUTBOUND "users/user1" friends
RETURN vertex
এটি user1
এর direct friends খুঁজে বের করবে।
FOR vertex IN 2..3
OUTBOUND "users/user1" friends
RETURN vertex
এটি user1
থেকে দ্বিতীয় এবং তৃতীয় লেভেলের সংযুক্ত vertex রিটার্ন করবে।
FOR vertex, edge, path IN 1..2
OUTBOUND "users/user1" friends
RETURN { vertex, edge, path }
এটি Vertex, Edge, এবং Path এর সম্পূর্ণ তথ্য প্রদান করবে।
FOR vertex IN 1..1
INBOUND "users/user1" friends
RETURN vertex
এটি user1
এর সাথে incoming connections খুঁজে বের করবে।
FOR vertex IN 1..1
ANY "users/user1" friends
RETURN vertex
এটি user1
এর incoming এবং outgoing connections উভয়ই রিটার্ন করবে।
Traversed ডেটাতে নির্দিষ্ট শর্ত প্রয়োগ করার জন্য FILTER ব্যবহার করা হয়।
FOR vertex IN 1..2
OUTBOUND "users/user1" friends
FILTER vertex.age > 25
RETURN vertex
এটি user1
এর ১ থেকে ২ লেভেলের বন্ধুদের মধ্যে যাদের বয়স ২৫ এর বেশি তাদের রিটার্ন করবে।
FOR vertex IN 1..1
OUTBOUND "users/user1" friends
COLLECT WITH COUNT INTO total
RETURN total
এটি user1
এর মোট সরাসরি সংযুক্ত Vertex সংখ্যা রিটার্ন করবে।
FOR vertex, edge IN 1..1
OUTBOUND "users/user1" friends
RETURN edge.relationship
এটি সংযোগের Edge Attributes (যেমন: সম্পর্কের ধরণ) রিটার্ন করবে।
ArangoDB এর Web Interface ব্যবহার করে ট্রাভার্সালের ফলাফল সহজে ভিজুয়ালাইজ করা যায়। Traversal কোয়েরি চালানোর পর, Web Interface এ গ্রাফিকাল আউটপুট দেখা যাবে।
Graph Traversal Queries ArangoDB তে গ্রাফ ডেটার মধ্যকার সম্পর্ক বিশ্লেষণ করতে এবং জটিল গ্রাফ অপারেশন সম্পাদন করতে সাহায্য করে। AQL এর সহজ এবং শক্তিশালী গঠন এটি কার্যকরভাবে পরিচালনা করতে সহায়তা করে।